#ifndef FLOAT_H

#define FLOAT_H

#include "Func_def.h"

/**
 * @brief class for converting floating point operations to integer operations
 */
class FLOAT_I
{
        int32 data;
        int dec_pos;
    public:
	
	/**
	 * @brief constructor
	 */
        FLOAT_I();

	/**
	 * @brief Parametrized constructor, parses string to convert to FLOAT_I type float data.
	 *
	 * @param str_data character array for string to convert
	 */
        FLOAT_I(char *str_data);
        
	/**
	 * @brief convert string to floating point
	 *
	 * @param str_data string to convert
	 */
	void str2floati(char *str_data);
        
	/**
	 * @brief convert to integer
	 *
	 * @return integer converted into
	 */
	int32 toInt();
        
	/**
	 * @brief convert inch floating point to micron integer
	 *
	 * @return micron value for inches
	 */
    int32 floatinch_to_micron();      
	
	/**
	 * @brief convert floating point millimeters to micron integers
	 *
	 * @return micron value for millimeters
	 */
        int32 floatmm_to_micron();

	/**
	 * @brief convert floating point centimeters to micron integers
	 *
	 * @return micron value for millimeters
	 */
        int32 floatcm_to_micron();

	/**
	 * @brief getter function to retreive data for provate variables in implementation
	 *
	 * @param data_ret data value returned
	 * @param dec_pos_ret decimal position returned
	 */
        void getPrivateData(int32 &data_ret,int &dec_pos_ret);
};

#endif
